Producing an analog signal from a digital representation of the analog signal can be accomplished in a number of ways using systems commonly referred to as digital-to-analog converters (or DACs). DACs receive a digital word input and convert it to an analog voltage or current output. The input digital word can be a pure binary word, for example, or a binary-coded decimal word.
As the use of DACs becomes more prevalent in higher-frequency applications, the DACs dynamic linearity can become a limiting issue. Dynamic linearity refers to the DAC's ability to accurately reproduce higher-frequency analog signals. High dynamic linearity indicates that the DAC will accurately reproduce a tone; whereas, poor dynamic linearity indicates that the DAC will produce unwanted spectral components, such as harmonics in addition to the intended tone. Achieving a high dynamic linearity is particularly important in many applications, such as broadband communications.
Static linearity refers to the ability of a DAC to reproduce an, accurate analog voltage or current level in response to a received digital word. Improved static linearity can be obtained by providing a cascode device within a current leg, such as a cascode current source, or similar compensating element. The cascode device, in particular, provides an improved input impedance. Such approaches, however, generally fail to provide high dynamic linearity. An inability to realize high dynamic linearity in DAC architectures is particularly troublesome as frequencies of operation are pushed towards their limits.
One type of DAC is a current-mode DAC. These devices are widely used as they are well suited for driving resistive loads, they tend to consume less power than other alternatives, and they offer reasonable static linearity. In general, a current-mode DAC consists of an array of current sources that are individually switched on or off in response to a control input. The current source outputs can be combined to yield a total current that is proportional to the number of switched-on current sources. Generally, current-mode DACs provide a high degree of linearity at low frequencies (the static linearity condition being measured at zero frequency) but linearity drops off progressively as operational frequency increase towards the Nyquist frequency (fs/2, where fs is the sampling frequency). It is this reduction in linearity at the higher operational frequencies that limits the applicability of such DACs for broadband communications.
There are few viable alternatives to current-mode architectures. For example, switched capacitor architectures have been demonstrated to a limited extent, but have not shown a superior performance to the current-mode DACs in dynamic linearity.
Current mode DACs generally provided a controllable switch at each current source to selectively switch the current source on or off. In one solution, the current source-switch combinations, or current legs, can be arranged in a parallel configuration with each current leg having the same significance (i.e., the same nominal current value). This configuration is commonly referred to as being fully “thermometer decoded.” In a thermometer decoded DAC, each bit of the thermometer code controls one current source switch. One example of a thermometer decoded DAC 100 is shown in FIG. 1. The exemplary DAC 100 includes three current legs, each current leg including a respective current source 105′, 105″, 105′″ (generally 105). Each of the current sources 105 is combined in series with a respective controllable switch 110′, 110″, 110′″ (generally 110). Notably, as described above each of the current sources 105 provides substantially the same amount of current, IB, when switched on. The switch 110 can be a series connected single-pole-single-throw switch as shown. One end of the current source 105 is connected to ground and the other end is connected to one end of the respective switch. The analog current output of each current leg is available at the other end of the respective switch 110. As described above, the switch (i.e., current leg) outputs can be connected together at one node 120. Further, the node 120 can be connected to an electrical power supply, Vs, through an output resistor, R0. Advantageously, the combined current, I0, from each of the current legs at the node 120 creates a proportional voltage V0 as it flows through the output resistor R0.
A digital-to-thermometer code converter 115, receives a digital word and converts the digital word to a control output. The exemplary embodiment includes three (generally, L−1) current legs. In general, a thermometer decoded DAC having L−1 current legs is capable of converting a binary input word having log2|L| bits (e.g., 2 bits). Thus, the decoder 115 receives a 2-bit digital word (e.g., “01”) and converts it to a thermometer code control output (e.g., “011”). The thermometer code control outputs, in turn, can be used to control the controllable switches. Table 1 shows the possible thermometer code control outputs for a two-bit binary input. The DAC 100 can be adapted by adding additional current legs to provide a greater dynamic range (i.e., capable of converting larger digital word). As all of the current sources are nominally identical, a fully thermometer decoded DAC offers superior dynamic performance.
TABLE 1Binary Input WordThermometer Coded Output Control00000010011001111111
Dynamic linearity is improved with an architecture that provides near ideal performance, that is, where current values of the individual current sources are accurate and stable, and switching control inputs are distributed to all current sources at precisely the same instant in time. Unfortunately, even designs that strive to meet the above goals include some imperfections due to the physical nature of the structure. That is, any physical implementation will result in unavoidable parasitic effects. These parasitic effects can lead to nonuniformities among the current sources, and/or delays in the delivery of switching control inputs of one or more of the current sources.
Some designs attempt to control the parasitic effects using a fully thermometer decoded DAC as described above. Realizing such a design for many DAC applications, however, would, be too complex to be practical. For example, constructing a thermometer coded 12-bit DAC would require 212−1=4,095 identical current sources. First, it is impractical to route switching control inputs to all of these current sources such that the signals arrive simultaneously. Additionally, it is impractical to construct connections from the DAC outputs to all current source outputs such that the current source outputs observe the same time constants between themselves and the DAC outputs. These complications generally lead to delays and non-uniformities that, together with other related factors, give rise to dynamic mismatches between the current sources. The dynamic mismatches, in turn, lead to poor current mode DAC dynamic linearity.
Segmentation offers one solution to reduce the complexity discussed above for current-mode DACs configured to convert large binary words. In general, a segmented DAC includes multiple segments, each segment containing one or more current sources. The segmented DAC differs from the thermometer decoded DAC in that the values of the current sources are weighted according to the different segments. For example, a two-segment DAC includes a Most-Significant-Bit (MSB) segment and a Least-Significant-Bit (LSB) segment. In general, the MSB segment includes M current sources, each capable of providing a respective current output of IMSB. Similarly, the LSB segment includes N current sources, each capable of providing a respective current output of ILSB. Using current sources that have different weights, the segmented DAC is capable of converting digital words using less current legs than the thermometer-decoded DAC. In general, bits are divided among the two segments such that the number of DAC bits (e.g., 12) is determined as log2|M|+log2|N|. Using the above 12-bit DAC example and taking 8 MSB bits and 4 LSB bits, the number of current sources required would be: 2M−1=28−1=255 MSBs+2N−1=24−1=15 LSBs, or 270.
Routing control inputs to the 270 current sources of the segmented DAC is by far easier than routing the 4,095 signals of the thermometer-decoded DAC. However, weighting the current sources of the different segments introduces new complications related to the dynamic range performance. These complications are primarily due to the differences in physical construction, or realization, between the differently weighted current sources. Ideally, all of the MSB current sources are nominally identical to every other MSB current source, and all of the LSB current source are nominally identical to every other LSB current source. The relative size of the current source, however, is generally proportional to the amplitude of its current. Thus, an MSB current source would be larger than an LSB current source. For example, considering the segmented DAC discussed above, the MSB current sources, each provide a current of IMSB that is 24, or 16 times larger than the current ILSB of the LSB current sources. It can be seen that this approach substantially reduces the complexity and practicality problems inherent in the large number of current sources of the thermometer decoded, or single segment DAC. Nevertheless, the segmented DAC is still plagued by dynamic mismatch problems. In particular, the dynamic characteristics of the N LSB current sources are quite different from those of the M LSB current sources.